﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework.Input;

namespace Brain.FPS
{
    public class GamerInputOptions
    {
        /// <summary>
        /// Whether or not to smooth out character steps and other discontinuous motion.
        /// </summary>
        public bool UseCameraSmoothing = true;

        /// <summary>
        /// If the player can jump
        /// </summary>
        public bool CanJump { get; set; }

        /// <summary>
        /// If the player can crouch
        /// </summary>
        public bool CanCrouch { get; set; }

        /// <summary>
        /// if the player to Crouch needs to hold the Button
        /// </summary>
        public bool CrouchHold { get; set; }

        public bool DisableUpDown { get; set; }

        public bool DisableLeftRight { get; set; }

        public bool RightThumstickRotates { get; set; }

        public bool MouseRotates { get; set; }

        public GetBoolSetVector2 MovementCondition;

#if WINDOWS
        public Keys Key_MoveForward { get; set; }
        public Keys Key_MoveBackward { get; set; }
        public Keys Key_MoveLeft { get; set; }
        public Keys Key_MoveRight { get; set; }

        public Keys Key_Jump { get; set; }
#endif

        public GamerInputOptions()
        {
            CanJump = true;
            CanCrouch = true;

            RightThumstickRotates = true;
            MouseRotates = true;

#if WINDOWS
            Key_MoveForward = Keys.W;
            Key_MoveBackward = Keys.S;
            Key_MoveLeft = Keys.A;
            Key_MoveRight = Keys.D;

            Key_Jump = Keys.Space;
#endif
        }
    }
}
